1. Field of the Invention
The present invention relates to a printing system in which a printing apparatus and a print control apparatus are connected via a network, a method therefor, a program implementing the method, and a storage medium storing the program.
2. Description of the Related Art
There has been widely proposed a printing system in which a printer (a printing apparatus) and a host computer (a print control apparatus) are connected via a network, and print job data produced by the host computer is expanded into printer bit map image data to be printed on a sheet of paper.
In this type of printing system, reduction in TCO (Total Cost of Ownership) has recently been spotlighted greatly from the viewpoint of reduction in office expenses or preservation of global environment. The TCO includes not only initial costs such as expenses of introduction of a printer and a printing system but also expenses of consumables such as printing paper and toner typical of colorants.
One of the causes for cost increase is that anyone who accesses a network can perform printing using a printer installed in an office. Since printing limitations are imposed on no one, and no trace of printing is left, a user may fail to exercise self-control. Accordingly, an excessive amount of printing is often performed, thus causing an increase in office costs.
In order to tackle the cost increase problem, a lot of printing systems which perform printing limitation for address information such as an IP address in TCP/IP as the first means and manage the number of printed sheets by acquiring a print log as the second means have been realized.
However, the first means is a rough technique that imposes printing limitations on an apparatus with a particular IP address, and is unable to perform detailed management such as limitation of the number of sheets to be printed by a particular user. The second means is possible to leave a print log for printout, but an administrator needs to monitor the print log to check whether unauthorized printing has been performed. This increases labor costs, which is off the point to reduce the TCO.
In order to solve this problem, there is proposed a user-limiting function which limits printout on a user-by-user basis (see Japanese Laid-Open Patent Publication (Kokai) No. 2003-150336).
FIG. 11 is a schematic view showing the configuration of a conventional printing system.
In FIG. 11, a conventional printing system comprises a host computer 1, an authentication server 2, and printer 3, which are connected with each other via a network 4.
The host computer 1 is used by a user, and produces a print job based on image data. The authentication server 2 holds authentication data and printout limitation data on a user-by-user basis. The printer 3 receives a print job from the host computer 1 via the network 4, and performs printing on an actual printing sheet with a known technology such as electrophotography or ink-jet technology.
FIG. 12 is a table showing a database of authentication data and printout limitation data on a user-by-user basis held in the authentication server in FIG. 11.
In FIG. 12, each row shows a user entry while each column shows the authentication data and the printout limitation data on a user-by-user basis. Reference numeral 11 denotes a user entry name, 12 a password, 13 the maximum printable number of sheets which the user is allowed to be printed by the user for a month, and 14 the number of sheets actually printed by the user in the month.
A password 12 is described in plain text for convenience, but actually, it consists of only one-way hash values in plain text for security in order to prevent passwords from leaking out to third parties. Therefore, authentication is performed by comparing the hash value of an inputted password in plain text with the hash values. Needless to say, only those who have administrative privileges can read and write the database for security.
A row 21 shows an entry of a user whose name is User1. The password is a character string “Akd5sj4f.” The maximum printable number of sheets set to 500 shows that the number of sheets available for printing to the User1 for a month is limited to 500. The number of sheets actually printed is a value updated as a result of actual printing upon printing processing being performed by the printer 3, and thereby it is known that the User1 has already printed 123 sheets.
Similarly, a user 2 in a row 22 and a user 3 in a row 23 are defined. A Guest user in a row 24 is described. A password is not registered for the guest user. The maximum printable number of sheets set to 0 shows that the Guest user is not allowed to perform printing. Note that whether to provide a row for a Guest user depends on the design policy of the printing system and that the database may or may not have the row 24 for the Guest user.
A user inputs a user name and password upon logging on to the host computer 1. These pieces of information are transmitted to the authentication server 2, and the authentication server 2 performs user authentication by checking a user name and a password with the user name 11 and the password 12. If the user authentication is successful, the authentication server 2 notifies the host computer 1 of the maximum printable number of sheets and the actually printed number of sheets. For example, if the User1 succeeds in the authentication, the maximum printable number of sheets=500 and the actually printed number of sheets=123 are sent back.
When a print job is actually executed, the host computer 1 takes into consideration the maximum printable number of sheets=500 and the actually printed number of sheets=123, and recognizes that up to 500−123=377 sheets are available for printing and performs printing up to 377 sheets. Alternatively, for example, if the number of sheets by a print job exceeds a printing upper limit of 377, the user is given a warning to follow the predetermined operations mentioned below.
FIG. 13 is a view showing a dialog of GUI (Graphic User Interface) displayed by a printing driver when the host computer 1 executes a print job.
In FIG. 13, a dialog 31 has a print performing button 32 and a print cancel button 33. When the print performing button 32 is pressed, the host computer 1 limits the number of sheets set for the print job to 377 and performs printing. Then, The remaining 23 sheets are not printed out, and hence a user cannot obtain a desired printing result. When the print cancel button 33 is pressed, a print request itself is cancelled. Therefore, a side-effect that the desired printing result is not obtained is not generated.
As mentioned above, even a conventional printing system can limit the printable number of sheets. However it cannot manage minutely e.g. on an printing application-by-application, a printed document-by-document, or a host computer-by computer, needless to say, on both a user-by-user and an application-by-application.
For example, when a user must print out a work report from a work management application, there is a problem that it is not possible to perform printing due to limitation of a printable number of sheets so long as the user executes the application even in a situation where the printable number of sheets allocated to the user reaches zero.
Namely, when a highly necessary particular duty must be performed as in this case, there is a problem that a limitation imposed on a user-by-user basis often becomes an obstacle. Therefore, it is preferable to be able to perform the management of exceptionally lifting the limitation of printable number of sheets, but such a printing system has not been realized.
Conventionally, only the printable number of sheets has been managed, but limitations as to double-sided printing and collective printing which can reduce the number of sheets printed out from a printer itself, and limitations as to color/monochrome printing have not been managed.